package com.ihg.hiex.admin.entity.dto;

/**
 * 
 * @author houtao
 *
 */
public class DriveResult {
    
    private String assessorEvalution;
    
    private String internalBenchmark;
    
    private String externalBenchmark;
    
    private int directingPeople;
    
    private int managingTasks;
    
    private int producingOutput;
    
    private int takingAction;
    
    private int pursingGoals;
    
    private int generatingIdeas;
    
    private int developingStrategies;
    
    private int examingInformation;
    
    private int makingDecisions;
    
    private int showingComposure;
    
    private int potential;
    
    /**
     * 
     */
    public DriveResult() {
    }
    
    /**
     * 
     * @param directingPeople
     * @param managingTasks
     * @param producingOutput
     * @param takingAction
     * @param pursingGoals
     * @param generatingIdeas
     * @param developingStrategies
     * @param examingInformation
     * @param makingDecisions
     * @param showingComposure
     */
    public DriveResult(int directingPeople, int managingTasks, int producingOutput, int takingAction, int pursingGoals,
            int generatingIdeas, int developingStrategies, int examingInformation, int makingDecisions,
            int showingComposure) {
        this.directingPeople = directingPeople;
        this.managingTasks = managingTasks;
        this.producingOutput = producingOutput;
        this.takingAction = takingAction;
        this.pursingGoals = pursingGoals;
        this.generatingIdeas = generatingIdeas;
        this.developingStrategies = developingStrategies;
        this.examingInformation = examingInformation;
        this.makingDecisions = makingDecisions;
        this.showingComposure = showingComposure;
        double po =  (directingPeople + developingStrategies + examingInformation + makingDecisions + showingComposure) * 0.0714285714285714
                + (managingTasks + producingOutput + takingAction + pursingGoals + generatingIdeas)* 0.142857142857143;
                
        this.potential = new Double(po).intValue();
    }
    
    /**
     * 
     * @param assessorEvalution
     * @param internalBenchmark
     * @param externalBenchmark
     * @return
     */
    public DriveResult init(String assessorEvalution, String internalBenchmark, String externalBenchmark) {
        this.assessorEvalution = assessorEvalution;
        this.internalBenchmark = internalBenchmark;
        this.externalBenchmark = externalBenchmark;
        return this;
    }

	/**
	 * 
	 * @param directingPeople
	 * @param managingTasks
	 * @param producingOutput
	 * @param takingAction
	 * @param pursingGoals
	 * @param generatingIdeas
	 * @param developingStrategies
	 * @param examingInformation
	 * @param makingDecisions
	 * @param showingComposure
	 * @return
	 */
	public DriveResult init(int directingPeople, int managingTasks, int producingOutput, int takingAction, int pursingGoals,
			int generatingIdeas, int developingStrategies, int examingInformation, int makingDecisions,
			int showingComposure) {
		
		this.directingPeople = directingPeople;
		this.managingTasks = managingTasks;
		this.producingOutput = producingOutput;
		this.takingAction = takingAction;
		this.pursingGoals = pursingGoals;
		this.generatingIdeas = generatingIdeas;
		this.developingStrategies = developingStrategies;
		this.examingInformation = examingInformation;
		this.makingDecisions = makingDecisions;
		this.showingComposure = showingComposure;
		double po =  (directingPeople + developingStrategies + examingInformation + makingDecisions + showingComposure) * 0.0714285714285714
				+ (managingTasks + producingOutput + takingAction + pursingGoals + generatingIdeas)* 0.142857142857143;
				
		this.potential = new Double(po).intValue();		
    	return this;
    }
    
	/**
	 * @return the assessorEvalution
	 */
	public String getAssessorEvalution() {
		return assessorEvalution;
	}

	/**
	 * @return the internalBenchmark
	 */
	public String getInternalBenchmark() {
		return internalBenchmark;
	}

	/**
	 * @return the externalBenchmark
	 */
	public String getExternalBenchmark() {
		return externalBenchmark;
	}

	/**
	 * @return the directingPeople
	 */
	public int getDirectingPeople() {
		return directingPeople;
	}

	/**
	 * @return the managingTasks
	 */
	public int getManagingTasks() {
		return managingTasks;
	}

	/**
	 * @return the producingOutput
	 */
	public int getProducingOutput() {
		return producingOutput;
	}

	/**
	 * @return the takingAction
	 */
	public int getTakingAction() {
		return takingAction;
	}

	/**
	 * @return the pursingGoals
	 */
	public int getPursingGoals() {
		return pursingGoals;
	}

	/**
	 * @return the generatingIdeas
	 */
	public int getGeneratingIdeas() {
		return generatingIdeas;
	}

	/**
	 * @return the developingStrategies
	 */
	public int getDevelopingStrategies() {
		return developingStrategies;
	}

	/**
	 * @return the examingInformation
	 */
	public int getExamingInformation() {
		return examingInformation;
	}

	/**
	 * @return the makingDecisions
	 */
	public int getMakingDecisions() {
		return makingDecisions;
	}

	/**
	 * @return the showingComposure
	 */
	public int getShowingComposure() {
		return showingComposure;
	}

	/**
	 * @return the potential
	 */
	public int getPotential() {
		return potential;
	}

	/**
	 * @param assessorEvalution the assessorEvalution to set
	 */
	public void setAssessorEvalution(String assessorEvalution) {
		this.assessorEvalution = assessorEvalution;
	}

	/**
	 * @param internalBenchmark the internalBenchmark to set
	 */
	public void setInternalBenchmark(String internalBenchmark) {
		this.internalBenchmark = internalBenchmark;
	}

	/**
	 * @param externalBenchmark the externalBenchmark to set
	 */
	public void setExternalBenchmark(String externalBenchmark) {
		this.externalBenchmark = externalBenchmark;
	}

	/**
	 * @param directingPeople the directingPeople to set
	 */
	public void setDirectingPeople(int directingPeople) {
		this.directingPeople = directingPeople;
	}

	/**
	 * @param managingTasks the managingTasks to set
	 */
	public void setManagingTasks(int managingTasks) {
		this.managingTasks = managingTasks;
	}

	/**
	 * @param producingOutput the producingOutput to set
	 */
	public void setProducingOutput(int producingOutput) {
		this.producingOutput = producingOutput;
	}

	/**
	 * @param takingAction the takingAction to set
	 */
	public void setTakingAction(int takingAction) {
		this.takingAction = takingAction;
	}

	/**
	 * @param pursingGoals the pursingGoals to set
	 */
	public void setPursingGoals(int pursingGoals) {
		this.pursingGoals = pursingGoals;
	}

	/**
	 * @param generatingIdeas the generatingIdeas to set
	 */
	public void setGeneratingIdeas(int generatingIdeas) {
		this.generatingIdeas = generatingIdeas;
	}

	/**
	 * @param developingStrategies the developingStrategies to set
	 */
	public void setDevelopingStrategies(int developingStrategies) {
		this.developingStrategies = developingStrategies;
	}

	/**
	 * @param examingInformation the examingInformation to set
	 */
	public void setExamingInformation(int examingInformation) {
		this.examingInformation = examingInformation;
	}

	/**
	 * @param makingDecisions the makingDecisions to set
	 */
	public void setMakingDecisions(int makingDecisions) {
		this.makingDecisions = makingDecisions;
	}

	/**
	 * @param showingComposure the showingComposure to set
	 */
	public void setShowingComposure(int showingComposure) {
		this.showingComposure = showingComposure;
	}

	/**
	 * @param potential the potential to set
	 */
	public void setPotential(int potential) {
		this.potential = potential;
	}
}
